package com.Pan.util;

import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.Locale;

/**
 * @Description: 接口提示国际化
 * @Author: zhangjie
 * @Date: 21/8/18 PM4:05
 */
@Component
public class LocaleMessageService {
    
    @Resource
    private MessageSource messageSource;

    /**
     * 获取文字资源的值
     *
     * @param code 资源code
     * @return String
     */
    public String getMessage(String code){
       return getMessage(code,null);
    }


    /**
     * 获取文字资源的值
     *
     * @param code 资源code
     * @param args
     * @return String
     */
    public String getMessage(String code,Object[] args){
       return getMessage(code, args,"");
    }


    /**
     * 获取文字资源的值
     *
     * @param code 资源code
     * @param args
     * @param defaultMessage
     * @return String
     */
    public String getMessage(String code,Object[] args,String defaultMessage){
       // 这里使用比较方便的方法，不依赖request.
       Locale locale = LocaleContextHolder.getLocale();
       return messageSource.getMessage(code, args, defaultMessage, locale);
    }
    
}